Creating our first JIRA plugin “Hello World”:
- enter in C:\atlastutorial
- atlas-create-jira-plugin
- Enter 1 for JIRA 5
- groupId: com.atlassian.tutorial
- artifactId: helloworld
- version: 1.0-SNAPSHOT
- package: com.atlassian.tutorial.helloworld
- Press Y to continue
Browse to and open the atlastutorial/helloworld/src/main/resources/atlassian-plugin.xml file
<atlassian-plugin key="${project.groupId}.${project.artifactId}" name="${project.name}" plugins-version="2">
<plugin-info>
<description>${project.description}</description>
<version>${project.version}</version>
<vendor name="${project.organization.name}" url="${project.organization.url}" />
<param name="plugin-icon">images/pluginIcon.png</param>
<param name="plugin-logo">images/pluginLogo.png</param>
</plugin-info>
<!-- add our i18n resource -->
<resource type="i18n" name="i18n" location="helloworld"/>
<!-- add our web resources -->
<web-resource key="helloworld-resources" name="helloworld Web Resources">
<dependency>com.atlassian.auiplugin:ajs</dependency>
<resource type="download" name="helloworld.css" location="/css/helloworld.css"/>
<resource type="download" name="helloworld.js" location="/js/helloworld.js"/>
<resource type="download" name="images/" location="/images"/>
<context>helloworld</context>
</web-resource>
<!-- publish our component -->
<component key="myPluginComponent" class="com.atlassian.tutorial.helloworld.MyPluginComponentImpl" public="true">
<interface>com.atlassian.tutorial.helloworld.MyPluginComponent</interface>
</component>
<!-- import from the product container -->
<component-import key="applicationProperties" interface="com.atlassian.sal.api.ApplicationProperties" />
</atlassian-plugin>
Modify helloworld.js and add inside a piece of code like this: “alert(“Hola!”)”
Modify the tag <context> to active the Javascript in all pages <context>atl.general</context>
To finish: atlas-run
That’s all!
Web Resource Contexts in JIRA
| Context | Description |
|---|---|
| jira.error | Applies to the 500 page and sitemesh error decorators. |
| jira.admin | Anywhere in the admin section. |
| jira.general | Applies to every page in JIRA. |
| jira.popup | Popups such as the userpicker popup. |
| jira.userprofile | A user’s own profile page. |
| jira.dashboard | A dashboard page in JIRA. |
| jira.browse | Applies to all the specific ‘jira.browse’ pages below. |
| jira.browse.component | The browse components page for a project. |
| jira.browse.project | The browse project page for a single project. |
| jira.browse.projects | The browse all projects page. |
| jira.browse.version | The browse versions page for a project. |
| jira.view.issue | The view issue page in JIRA. |
| jira.create.issue (only available in JIRA 4.4 and later) |
The create issue page in JIRA. |
| jira.navigator.advanced | Includes web-resources on the advanced view of the issue navigator |
| jira.navigator.simple | Includes web-resources on the simple view of the issue navigator |
| atl.error | Error messages and pages. |
| atl.dashboard | Dashboard pages. |
Sample:
<web-resource name="Resources" key="resources"> <resource name="foo.js" type="download" location="resources/foo.js"> </resource> <context>jira.userprofile</context> <context>jira.view.issue</context> </web-resource>






One thought on “Create a new plugin / add-on in JIRA to set custom CSS and Javascript / JS in all pages”